Prefixes and suffixes are added to the base to get the names of variant
versions of the VOP. The fully general VOP name looks like this:
The "small-" and "fast-" prefixes indicates that the VOP does minimal
safety checking and is optimized for space or speed, respectively. The absence
of a prefix indicates the safest (or only) version. Usually if the "small-"
VOP exists, it will be a synonym for either the fast version or the safe
version, depending on which is smaller.
The "-c" suffix indicates that the some info that is passed as a normal argument to the base version of the VOP is passed as Codegen-Info in this version. A typical use would be for VOPs where it is important to use a different version when one of the arguments is a compile time constant. info is some (possibly null) string that indicates which "-c" variant is involved.
The "/type" suffix asserts that all operands that could be of type are. For example, +/fixnum adds two fixnums returning a fixnum, while length/simple-vector finds the length of a simple vector, but the result isn't a simple vector.
The "=>result-type" suffix supplies a result type assertion on the operation.
A not totally silly example of all these modifiers simultaneously is fast-+-c/fixnum=>integer. This operation would this operation adds two fixnums, one of which is a constant passed as codegen info, resulting in an integer. The implementation is optimized for speed at the expense of space and safety.